home *** CD-ROM | disk | FTP | other *** search
- Option Explicit
-
- Const MSK_REG_KEY_PATH_STR = "HKLM\Software\McAfee.com\Agent\Apps\MSK"
- Const MSK_REG_KEY_STR = "InstallDir"
-
- Const MSK_REG_KEY_SPAMKILLER_STR = "HKLM\Software\McAfee.com\SpamKiller"
- Const MSK_REG_INSTALLKEY_STR = "Install Dir"
-
- Const MSK_AGENT_MODULE_NAME_STR = "MSKAgent.exe"
- Const MSK_LEGACY_MODULE_NAME_STR = "spamkiller.exe"
-
- Const MSK_CMDARG_START_STR = " Resume"
- Const MSK_CMDARG_SUSPEND_STR = " Suspend"
- Const MSK_CMDARG_ABOUT_STR = " About"
- Const MSK_CMDARG_VIEW_EMAIL_STR = " Open"
- Const MSK_CMDARG_SHOW_SUMMARY_STR = "Summary"
- Const MSK_CMDARG_OPTIONS_STR = " Settings"
- Const MSK_CMDARG_VERIFYSUBSCRIPTION_STR = " Verify"
-
- Const APPID_MSKAGENT = "{CCEDC87D-319E-4ec9-BD4C-02102CAAB664}"
- Const CLSID_MSKAGENT = "{FC3A92E5-E051-42ea-BBDA-F8F38D074FF8}"
-
- Const MSKAGENT_MIN_VERSION = "5,0,0,0"
-
- Dim g_fBusyProcessing
- g_fBusyProcessing = False
- '0 == Application started
- '1 == Application could not be started
- Function LaunchProgram( szPath, szCmdLine, eResult )
- '{
- eResult = 1
-
- If False = IsObject( g_localObjOS ) Then
- LaunchProgram = eResult
- Exit Function
- End If
-
- If False = IsObject( g_localObjFS ) Then
- LaunchProgram = eResult
- Exit Function
- End If
-
- If g_localObjOS is nothing Or _
- g_localObjFS is nothing Then
- '{
- LaunchProgram = eResult
- Exit Function
- '}
- End If
-
- If "" <> szPath And "" <> szCmdLine Then
- '{
- If 0 = g_localObjOS.RunProgram( szPath, CStr(szCmdLine) ) Then
- eResult = 1
- Else
- eResult = 0
- End If
- '}
- End If
- LaunchProgram = eResult
- '}
- End Function
-
- '// Return Values:
- '// -2: If MSK is not installed.
- '// -1: Error code.
- '// 0: If Old MSK is installed.
- '// 1: If current MSK is installed.
- Function IsMSKInstalled( objReg, objOS, objFS )
- 'Default value an error occurred
-
- Dim currMSK
- currMSK = IsCurrentMSKInstalled(objReg, objOS, objFS)
-
-
- Select Case currMSK
- Case -2, -1
- IsMSKInstalled = IsLegacyMSKInstalled(objReg, objOS, objFS)
- Case 0
- IsMSKInstalled = 0
- Case 1
- IsMSKInstalled = 1
- Case Else
- IsMSKInstalled = -1
- End Select
- End Function
-
- '// Return Values:
- '// -2: If MSK is not installed.
- '// -1: Error code.
- '// 0: If old MSK is installed.
- '// 1: If current MSK is installed (as denoted by MSKAGENT_MIN_VERSION).
- Function IsCurrentMSKInstalled( objReg, objOS, objFS )
- '{
- Dim eResult
-
- 'Default value an error occurred
- IsCurrentMSKInstalled = -1
- If False = IsObject( objOS ) Then
- Exit Function
- End If
-
- If objOS Is Nothing Then
- Exit Function
- End If
-
- 'Now we default to MSK is not installed.
- IsCurrentMSKInstalled = -2
- eResult = objOS.IsObjectInstalled( CLSID_MSKAGENT, MSKAGENT_MIN_VERSION)
-
- Select Case eResult
- '{
- Case 0
- Exit Function
- Case 1
- IsCurrentMSKInstalled = 0
- Case 2
- IsCurrentMSKInstalled = 1
- Case 3
- IsCurrentMSKInstalled = -2
- '}
- End Select
- '}
- End Function
-
- '// Return Values:
- '// -2: If MSK is not installed.
- '// -1: Error code.
- '// 0: If Legacy MSK is installed.
- '// 2: If Old Non-Agent-Aware MSK is installed.
- Function IsLegacyMSKInstalled( g_localObjReg, g_localObjOS, g_localObjFS )
- '{
- Dim bOldOfuscate, szHomePage, szPath
-
- 'Default value is Not Installed
- IsLegacyMSKInstalled = -2
- bOldOfuscate = g_localObjReg.obfuscate
- g_localObjReg.obfuscate = FALSE
-
- szPath = g_localObjReg.RegQueryValue( MSK_REG_KEY_SPAMKILLER_STR, MSK_REG_INSTALLKEY_STR )
- g_localObjReg.obfuscate = TRUE
-
- If ( Len(szPath) > 0) Then
- szPath = CStr(szPath) & "\" & MSK_LEGACY_MODULE_NAME_STR
- End If
-
- If (g_localObjFS.IsFile(szPath)) Then
- szHomePage = g_localObjReg.RegQueryValue( CStr("HKLM\Software\McAfee.com\Agent\Apps\MSK"), CStr("HomePage") )
- If (0 < Len(szHomePage)) Then
- 'File exist and reg key is set
- IsLegacyMSKInstalled = 0
- Else
- 'File exists but reg key is not set
- IsLegacyMSKInstalled = 2
- End If
- End If
-
- g_localObjReg.obfuscate = bOldOfuscate
-
- '}
- End Function
-
- '//
- '// IsMSKEnabled(): Return Values.
- '//
- '// -1: Error Code
- '// 0: Application is not running
- '// 1: Application is running.
- '// 2: Application is shutting down.
- ' True = Enabled, False = Disabled.
- ' szError returns a string description of the error. Typically should be used
- ' only if an error was returned.
-
- ' The only error return value from this function is -1, or CFGUSER_GENERIC_ERROR
- Function IsMSKEnabled()
- '{
- Dim bOldOfuscate, dwState
-
- If g_localObjReg Is Nothing Then
- IsMSKEnabled = 0
- Exit Function
- End If
-
- bOldOfuscate = g_localObjReg.obfuscate
-
- g_localObjReg.obfuscate = True
-
- dwState = g_localObjReg.RegQueryValue( CStr("HKLM\Software\McAfee.com\Agent\Apps\MSK"), CStr("State") )
- If 0 = dwState Then
- IsMSKEnabled = 0
- Else
- IsMSKEnabled = 1
- End If
-
- g_localObjReg.obfuscate = bOldOfuscate
- '}
- End Function
-
- Function ActionMSK( szCmdlineArg )
- '{
- Dim eResult
- Dim szPath
- Dim szCmdLine
-
- Dim bOldOfuscate
- If (g_fBusyProcessing = False) Then
- g_fBusyProcessing = True
- bOldOfuscate = g_localObjReg.obfuscate
-
- g_localObjReg.obfuscate = TRUE
-
- szPath = g_localObjReg.RegQueryValue( MSK_REG_KEY_PATH_STR, MSK_REG_KEY_STR )
- szPath = CStr(szPath & "\" & MSK_AGENT_MODULE_NAME_STR)
-
- g_localObjReg.obfuscate = bOldOfuscate
-
- LaunchProgram szPath, szCmdlineArg, eResult
- g_fBusyProcessing = False
- Else
- ' Ignore request and perhaps message user to wait...
- End If
- '}
- End Function
-
- Function EnableMSK()
- '{
- EnableMSK = -1
-
- Call g_objDispMskAgent.EnableMSK( True )
- 'Call ActionMSK( MSK_CMDARG_START_STR )
-
- EnableMSK = 0
- '}
- End Function
-
- Function DisableMSK()
- '{
- DisableMSK = -1
-
- Call g_objDispMskAgent.EnableMSK( False )
- 'Call ActionMSK( MSK_CMDARG_SUSPEND_STR )
-
- DisableMSK = 0
- '}
- End Function
-
- Function ShowViewEmail()
- '{
- Call g_objDispMskAgent.ViewBlockedMail
- 'Call ActionMSK( MSK_CMDARG_VIEW_EMAIL_STR )
- '}
- End Function
-
- Function ShowSummary()
- '{
- Call g_objDispMskAgent.ViewSummary
- 'Call ActionMSK( MSK_CMDARG_SHOW_SUMMARY_STR )
- '}
- End Function
-
- Function ShowOptions()
- '{
- Call g_objDispMskAgent.ViewOptions
- 'Call ActionMSK( MSK_CMDARG_OPTIONS_STR )
- '}
- End Function
-
- Function ShowAbout()
- '{
- Call g_objDispMskAgent.ViewAbout
- 'Call ActionMSK( MSK_CMDARG_ABOUT_STR )
- '}
- End Function
-
- Function OnEnableMSK()
- '{
- EnableMSK()
-
- 'Now we have a Timer that calls GetNewMSKState every 1500 msec
- 'which in turn calls these functions, so we don't need to call it here...
- 'SetDocumentTitleString()
- '}
- End Function
-
- Function OnDisableMSK()
- '{
- DisableMSK()
-
- 'Now we have a Timer that calls GetNewMSKState every 1500 msec
- 'which in turn calls these functions, so we don't need to call it here...
- 'SetDocumentTitleString()
- '}
- End Function
-
-
- ' NOTE: If expiration regvalue is _missing_ for MSK, we assume it is a persistent version of the software (i.e., Not Expired)
- '1 = Expired, 0 = Not Expired
- Const dwDef = 0
- Function IsMSKExpired()
- '{
- Dim szExpDate
-
- If g_localObjInstaller is nothing Or Not IsObject( g_localObjInstaller ) Then
- IsMSKExpired = dwDef
- Exit Function
- End If
-
- szExpDate = ""
- g_localObjInstaller.GetExpiryDate "HKLM\Software\McAfee.com\SpamKiller", "Settings", szExpDate
-
- If Len(szExpDate) <> 8 Then
- IsMSKExpired = dwDef
- Exit Function
- End If
-
- Dim szExpYear, szExpMonth, szExpDay
- szExpYear = Left( szExpDate, 4 )
- szExpMonth = Mid( szExpDate, 5, 2 )
- szExpDay = Mid( szExpDate, 7, 2)
-
- Dim glExpYear, glExpMonth, glExpDay
-
- glExpYear = CStr( szExpYear )
- glExpMonth = CStr( szExpMonth )
- glExpDay = CStr( szExpDay )
-
- Dim actualExpiryDate
- actualExpiryDate = DateSerial( glExpYear, glExpMonth, glExpDay )
-
- If False = IsDate( actualExpiryDate ) Then
- '{
- 'Tampered Expiry setting
- IsMSKExpired = 1
- Exit Function
- '}
- End If
-
- If DateDiff( "d", Date, actualExpiryDate ) >= 0 Then
- IsMSKExpired = 0
- Else
- IsMSKExpired = 1
- End If
-
- '}
- End Function
-
- Function OnVerifyMSK()
- '{
- Call ActionMSK( MSK_CMDARG_VERIFYSUBSCRIPTION_STR )
- '}
- End Function
-
-